package com.zone.module_base.di

import com.zone.core.id.ViewModelFactoryModule
import com.zone.module_base.TestActivity
import com.zone.module_base.fragment.TestAssetsFragment
import com.zone.module_base.fragment.TestDownloadFragment
import com.zone.module_base.fragment.TestFileFragment
import com.zone.module_base.fragment.TestFunctionFragment
import com.zone.module_base.fragment.TestHotFixFragment
import com.zone.module_base.fragment.TestImageFragment
import com.zone.module_base.fragment.TestPermissionFragment
import com.zone.module_base.fragment.TestVideoFragment
import com.zone.module_base.fragment.TestWebViewFragment
import dagger.Component
import javax.inject.Singleton

/**
 *Author: last
 *Time: 2020/5/2
 *Description: xxx
 */
@Singleton
@Component(
    modules = [VMModule::class, RepositoryModule::class, ViewModelFactoryModule::class, DemoModule::class]
)
interface BaseComponent {
    fun inject(activity: TestActivity)
    fun inject(fragment: TestFunctionFragment)
    fun inject(fragment: TestVideoFragment)
    fun inject(fragment: TestAssetsFragment)
    fun inject(fragment: TestPermissionFragment)
    fun inject(fragment: TestImageFragment)
    fun inject(fragment: TestWebViewFragment)
    fun inject(fragment: TestDownloadFragment)
    fun inject(fragment: TestHotFixFragment)
    fun inject(fragment: TestFileFragment)

}